Linked Data technologies enable structured data from many different sources to be integrated and related on a large scale. Linked Data technologies often employ the resource description framework (RDF) data model. In the RDF data model, each resource (e.g., a data file) comprises one or more triples of the form: subject, predicate, and object. Each resource is associated with one or more unique uniform resource identifiers (URI), such as a uniform resource locators (URL), at which the resource is located, and from which all triples comprising the resource can be obtained via HTTP GET. Each triple of an RDF resource can also be regarded as having the form: resource (e.g., the URI of the resource, such as “https://example-resource-uri.net/123456”), property (e.g., the URI of a property of the resource, such as “http://purl.org/dc/terms/title”), and property value (e.g., a string literal, such as “Example Title”, or a URI for another resource). A particular resource may comprise one triple or a plurality of triples.
The tracked resource set (TRS) specification defines a protocol by which a set of resources can be exposed by servers (i.e., providers) and made available to clients (i.e., consumers), along with information tracking additions of resources to the set, removals of resources from the set, and state changes (i.e., additions, removals, and/or modifications of triples) of resources in the set. Aspects of the RDF data model and the TRS specification may be expressed using the Turtle (Terse RDF Triple Language) textual syntax. Each tracked resource set possesses an HTTP URI. An HTTP GET request sent to this URI returns data comprising a base and change log. The base enumerates all member resources of the resource set at a given point in time, and the change log contains any change events for particular member resources that have been created, deleted, or have changed state. A consumer can create and maintain a replica of the resources in a tracked resource set by querying a TRS provider and making a series of HTTP GET requests to retrieve changed resources.